package com.zs.netlibrary.http.request;

import com.zs.netlibrary.http.RequestContent;

/**
 * 定义整个网络框架得请求协议
 * Created by sheng on 2017/8/15.
 */

public interface IRequest {
//    //状态码
//    String TAG_STATUS_CODE = "statusCode";
//
//    //请求失败后的失败内容
//    String TAG_MESSAGE = "message";
//
//    //json对象
//    String TAG_OBJECT = "object";
//
//    //json集合
//    String TAG_OBJECTS = "objects";
//
//    //默认超时时间
//    public int VALUE_DEFAULT_TIME_OUT = 20 * 1000;

    /**
     * 发送get请求
     */
    void sendGetRequest(RequestContent request);

    /**
     * 发送post请求，包含多文件上传方式的传文件
     *
     * @param request 请求对象
     */
    void sendPostRequest(RequestContent request);

    /**
     * 取消所有请求，可能中断请求
     */
    void cancelAllRequests(boolean mayInterrupIfRunning);

    /**
     * 重新设置请求超时时间
     */
    void setTimeOut(int value);

    /**
     * 下载文件
     */
    void dowmloadFile(RequestContent request);
}
